#!/bin/sh
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
LANG=en_US.UTF-8
#变量
##获取服务器所有IP
ip=$(ifconfig |grep Bcast|sed -r 's#(^.*addr:)(.*)(  Bcast.*$)#\2#g'|xargs|sed 's# #---#g')

##获取当前错误状态 err 变量
err=0


##本地back目录
BAKPATH=/backup

##创建$BAKPATH/ip目录
mkdir -p $BAKPATH/$ip


#函数
##检查错误函数

check_ok(){
        err=$?
	if [ $err != 0 ]
 	then
	echo "$err Error,something is wrong"
	exit 1
	fi
}

##更改执行目录
cd / &&\

##压缩各种目录文件
tar zcfh $BAKPATH/$ip/sys_config_$(date +%F-%A).tar.gz var/spool/cron etc/rc.local server/scripts
check_ok
tar zcfh $BAKPATH/$ip/webdata_$(date +%F-%A).tar.gz data/www/
check_ok
tar zcfh $BAKPATH/$ip/access_log$(date +%F-%A).tar.gz app/logs/
check_ok

##加md5验证
find $BAKPATH/ -type f -name "*.tar.gz" |xargs md5sum > $BAKPATH/$ip/flag_$(date +%F-%A)
check_ok

##备份文件传送到rsync服务器上，推送
rsync -az $BAKPATH/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.passwd
check_ok

##删除7天前的文件
find $BAKPATH/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f
check_ok
##删除MD5 7天前的文件
find $BAKPATH/ -type f -name "flag*" -mtime +7|xargs rm -f
check_ok


